#ifndef MOTGRAPHE_INCLUDED
#define MOTGRAPHE_INCLUDED

#include <windows.h>
#include <d3d11.h>
#include <d3dx11.h>
#include <d3dcompiler.h>
#include <xnamath.h>

class MoteurGraphique
{
protected:
	HINSTANCE               _instance;
	HWND                    _handle;
	D3D_DRIVER_TYPE         _driverType;
	D3D_FEATURE_LEVEL       _featureLevel;
	ID3D11Device*           _appareil ;
	ID3D11DeviceContext*    _pImmediateContext ;
	IDXGISwapChain*         _pSwapChain ;

	ID3D11RenderTargetView* _pRenderTargetView ;
	ID3D11Texture2D*        _pDepthStencil ;
	ID3D11DepthStencilView* _pDepthStencilView ;
	ID3D11PixelShader*      _pPixelShaderSolid ;

	ID3D11VertexShader*     _pVertexShader ;
	ID3D11PixelShader*      _pPixelShader ;
	ID3D11InputLayout*      _pEntreelayout ;
	ID3D11Buffer*           _VertexBuffer;
	ID3D11Buffer*           _IndexBuffer;
	ID3D11Buffer*           _ConstantBuffer;
	XMMATRIX                _Matmonde;
	XMMATRIX                _Matvue;
	XMMATRIX                _MatProj;

public:
	MoteurGraphique(void);
	~MoteurGraphique(void);
};

#endif